João Távora [Wed, 3 Jul 2019 23:34:26 +0000 (00:34 +0100)]
Fix Flymake's user-visible accessors of diagnostic positions
Diagnostics are supported by overlays, and they can legitimately move
around. So flymake-diagnostic-beg and flymake-diagnostic-end must
look up the overlay positions, not the immutable slots of the
flymake--diag structure, which become stale.
* lisp/progmodes/flymake.el (version): Bump to 1.0.8.
(flymake-diagnostic-beg, flymake-diagnostic-end): Use diag's
overlay.
(flymake-show-diagnostic): Use flymake-diagnostic-end,
flymake-diagnostic-beg.
João Távora [Wed, 3 Jul 2019 23:27:08 +0000 (00:27 +0100)]
Fix Flymake's treatment of region-specific reports
We're supposed to delete intersecting diagnostics in that situation,
but the intersection logic was way off.
* lisp/progmodes/flymake.el (version): Bump to 1.0.7.
(flymake--intersects-p): New helper.
(flymake--handle-report): Fix handling of :region.
Eric Abrahamsen [Wed, 3 Jul 2019 19:53:43 +0000 (12:53 -0700)]
Small fix to writing Gnus dribble change-level entries
* lisp/gnus/gnus-start.el (gnus-group-change-level): PREVIOUS needs to
still be a string when the dribble entry is written, so don't
convert it to an entry until after that's done. Also, we're not
meant to write PREVIOUS itself, we're meant to write the group that
comes _after_ it in the sort-order of gnus-group-list, so do that
instead.
Stefan Kangas [Sun, 30 Jun 2019 23:21:47 +0000 (01:21 +0200)]
Add tests for bookmark.el (Bug#36452)
* test/lisp/bookmark-resources/example.txt:
* test/lisp/bookmark-resources/test.bmk:
* test/lisp/bookmark-tests.el: New files.
* lisp/bookmark.el: Minor cleanups.
(bookmark-insert-annotation): Signal error on invalid bookmark.
(bookmark-write-file): Add newline at end of file.
Eli Zaretskii [Wed, 3 Jul 2019 07:31:48 +0000 (10:31 +0300)]
Fix rotation validity test in image.c
* src/image.c (compute_image_rotation): Fix the validity test
for :rotation values. This avoids logging error messages when
no :rotation was provided in the image spec.
Eli Zaretskii [Wed, 3 Jul 2019 07:20:20 +0000 (10:20 +0300)]
Fix compiler warnings due to a recent commit
* src/xdisp.c (expose_window, expose_frame): Avoid compilation
warnings about printing unsigned values with %d.
Michael Albinus [Wed, 3 Jul 2019 07:00:26 +0000 (09:00 +0200)]
Change expected result of a flymake test on emba
* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
Test is now passing on emba.gnu.org, too.
Paul Eggert [Tue, 2 Jul 2019 23:09:46 +0000 (16:09 -0700)]
Replace TRACE with redisplay_trace, etc.
This simplifies callers and catches trace printf format errors
even with typical (non-debugging) compiles.
* src/dispextern.h (TRACE) [GLYPH_DEBUG]:
Move definitions to xdisp.c if it’s used only there.
* src/xdisp.c (redisplay_trace): New function, replacing TRACE macro.
(move_trace): New function, replacing TRACE_MOVE macro.
All uses changed.
(dump_glyph): When tracing, don’t use %d to format ptrdiff_t,
or %x to format a pointer.
(expose_frame): Redo trace printfs to avoid interleaved output
on GNU/Linux.
Glenn Morris [Tue, 2 Jul 2019 23:46:25 +0000 (16:46 -0700)]
Change expected result of a flymake test on hydra
* test/lisp/progmodes/flymake-tests.el (different-diagnostic-types):
Test is now passing on hydra.nixos.org, since today.
Stefan Monnier [Tue, 2 Jul 2019 22:54:36 +0000 (18:54 -0400)]
* src/json.c (Fjson_insert): Don't temporarily insert invalid bytes in buffer
Stefan Monnier [Tue, 2 Jul 2019 22:02:51 +0000 (18:02 -0400)]
(Finsert_file_contents): Keep buffer consistent in non-local exit
* src/fileio.c (decide_coding_unwind): Delete function.
(Finsert_file_contents): Don't let invalid multibyte byte sequences
escape when we exit non-locally.
* test/src/fileio-tests.el (fileio-tests--insert-file-interrupt): New test.
Paul Eggert [Tue, 2 Jul 2019 21:50:43 +0000 (14:50 -0700)]
Fix printf formats when DEBUG_TRACE_MOVE
Problem caught by gcc -DDEBUG_TRACE_MOVE -Wformat.
* src/xdisp.c (move_it_in_display_line_to, move_it_to)
(move_it_vertically) [DEBUG_TRACE_MOVE]: Fix printf format typos.
Stefan Monnier [Tue, 2 Jul 2019 20:04:16 +0000 (16:04 -0400)]
* src/insdel.c (insert_from_gap_1): New fun, extracted from insert_from_gap.
(insert_from_gap): Use it.
* src/lisp.h (insert_from_gap_1): Declare it.
* src/json.c (Fjson_insert):
* src/fileio.c (Finsert_file_contents): Use it.
Stefan Monnier [Tue, 2 Jul 2019 19:48:25 +0000 (15:48 -0400)]
* src/coding.c (decode_coding_gap): Remove `chars` argument.
* src/json.c (Fjson_insert):
* src/fileio.c (Finsert_file_contents):
* src/coding.h (decode_coding_gap): Adjust accordingly.
Stefan Monnier [Tue, 2 Jul 2019 19:11:16 +0000 (15:11 -0400)]
* test/src/editfns-tests.el (test-group-name): Accept nil group-name.
Andreas Schwab [Mon, 1 Jul 2019 18:33:57 +0000 (20:33 +0200)]
Correct customize type for gnus-group-customize
* lisp/gnus/gnus-cus.el (gnus-extra-group-parameters): Add more
group parameters used by nnimap.
João Távora [Wed, 15 May 2019 12:10:22 +0000 (13:10 +0100)]
Correctly reindent previous line in electric-indent-mode
Fixes: bug#35254
Do this even when electric-indent-inhibit is t, except when the
newline insertion is being performed by electric-layout-mode.
* lisp/electric.el (electric-indent-post-self-insert-function):
Reindent previous line unless operating under
electric-layout-mode.
(electric-layout-post-self-insert-function-1): Bind
electric-indent-inhibit to 'electric-layout-mode.
* test/lisp/electric-tests.el
(electric-layout-control-reindentation): New test.
João Távora [Fri, 29 Mar 2019 12:27:11 +0000 (12:27 +0000)]
Protect Flymake from being corrupted by backends
A backend building a diagnostic with a nil :type would cause Flymake
to create a diagnostic without an overlay, confusing Flymake's
accounting of overlays and diagnostics
* lisp/progmodes/flymake.el (flymake--highlight-line): Return
non-nil unconditionally.
João Távora [Thu, 28 Mar 2019 18:04:35 +0000 (18:04 +0000)]
More carefully cleanup Flymake C/C++ backend's temp buffers
Sometimes the Flymake process dies by some means that doesn't involve
a sentinel call for the "exit" status, so we clean up the temporary
buffer as soon as we notice it's not process-alive-p anymore.
* lisp/progmodes/flymake-cc.el (flymake-cc): Broaden cleanup
conditions.
João Távora [Thu, 28 Mar 2019 17:51:12 +0000 (17:51 +0000)]
Don't create nil-severity diagnostics in the Flymake C/C++ backend
* lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Use
`:error` as a diagnostic severity.
João Távora [Thu, 28 Mar 2019 17:47:43 +0000 (17:47 +0000)]
Revert "Avoid occasional confusion of Flymake C/C++ backend"
This reverts commit
67c3a3af1d9e2582193d5ea33b6c190e79ad56e6, which
creates more problems than it solves.
Alan Mackenzie [Tue, 2 Jul 2019 12:33:01 +0000 (12:33 +0000)]
CC Mode: Improve handling of unbalanced strings
* lisp/progmodes/cc-fonts.el (c-before-font-lock-functions): Add function
c-after-change-escape-NL-in-string into value for most languages.
* lisp/progmodes/cc-mode.el (c-after-change-escape-NL-in-string): New
function.
(c-before-change-check-unbalanced-strings): Handle the making and breaking of
escaped newlines, by removal or addition of text.
Mattias Engdegård [Mon, 1 Jul 2019 15:56:49 +0000 (17:56 +0200)]
Better error message for C-h P RET
Previously:
package--incompatible-p: Wrong type argument: package-desc, nil
Now:
No package specified
* lisp/emacs-lisp/package.el (describe-package): Don't use ## as input.
Paul Eggert [Tue, 2 Jul 2019 07:01:06 +0000 (00:01 -0700)]
Fix performDragOperation: diagnostic typo
* src/nsterm.m (performDragOperation:): Fix missing newline.
Paul Eggert [Tue, 2 Jul 2019 04:42:58 +0000 (21:42 -0700)]
Fix regex-emacs debug format glitches
These patches affect behavior only if REGEX_EMACS_DEBUG.
* src/regex-emacs.c (debug_putchar): Use unsigned for %x.
(print_compiled_pattern, ENSURE_FAIL_STACK, PUSH_FAILURE_POINT)
(POP_FAILURE_POINT): Use %td for ptrdiff_t.
(print_compiled_pattern, regex_compile, re_match_2_internal):
Put newlines at ends of lines, not at starts of next lines.
Omit white space at line ends.
Eli Zaretskii [Tue, 2 Jul 2019 02:18:47 +0000 (05:18 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 1 Jul 2019 21:44:05 +0000 (23:44 +0200)]
Minor changes in tramp.texi
* doc/misc/tramp.texi (Obtaining Tramp): Mention file INSTALL.
(Cleanup remote connections): The session timer is also deleted.
Eli Zaretskii [Mon, 1 Jul 2019 18:12:55 +0000 (21:12 +0300)]
More XFIXNUM fixes
* src/hbfont.c (hbfont_shape): Don't assume LGLYPH_TO is
always a fixnum.
* src/fontset.c (fontset_find_font): A cleaner test for
matching charset_id.
Eli Zaretskii [Mon, 1 Jul 2019 16:25:52 +0000 (19:25 +0300)]
Fix assertion violations in fontset_find_font
* src/fontset.c (fontset_find_font): Don't assume REPERTORY
must be a fixnum.
Eli Zaretskii [Mon, 1 Jul 2019 14:54:15 +0000 (17:54 +0300)]
Adjust return value of image-transforms-p
* src/image.c (Fimage_transforms_p):
* doc/lispref/display.texi (Image Descriptors):
image-transforms-p now returns at most (scale rotate90), even
if ImageMagick is available.
Glenn Morris [Mon, 1 Jul 2019 13:26:46 +0000 (06:26 -0700)]
; Auto-commit of loaddefs files.
Sam Steingold [Fri, 28 Jun 2019 21:22:55 +0000 (17:22 -0400)]
Extract gnus-collect-urls from gnus-summary-browse-url
* lisp/gnus/gnus-sum.el (gnus-collect-urls): Extract from ...
(gnus-summary-browse-url): Use it here.
Extracting URLs from an article will be useful in BBDB interaction.
YAMAMOTO Mitsuharu [Mon, 1 Jul 2019 07:58:53 +0000 (16:58 +0900)]
Implement the otf_capability method for HarfBuzz
* src/hbfont.c: Include hb-ot.h.
[HAVE_NTGUI]: Add DEF_DLL_FN and #define for hb_tag_to_string,
hb_font_get_face, hb_ot_layout_table_get_script_tags,
hb_ot_layout_table_get_feature_tags, hb_ot_layout_script_get_language_tags,
and hb_ot_layout_language_get_feature_tags.
(hbfont_init_w32_funcs) [HAVE_NTGUI]: Add LOAD_DLL_FN for them.
(hbfont_otf_features, hbfont_otf_capability): New functions.
* src/font.h (hbfont_otf_capability) [HAVE_HARFBUZZ]: Add extern.
* src/ftcrfont.c (syms_of_ftcrfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/ftfont.c (syms_of_ftfont_for_pdumper) [HAVE_HARFBUZZ]:
* src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper) [HAVE_HARFBUZZ]:
* src/xftfont.c (syms_of_xftfont_for_pdumper) [HAVE_HARFBUZZ]: Populate
otf_capability method with hbfont_otf_capability.
Paul Eggert [Sun, 30 Jun 2019 15:08:02 +0000 (08:08 -0700)]
Remove divide_double
* src/image.c (divide_double): Remove. All uses replaced
with inline equivalents. Suggested by Eli Zaretskii in:
https://lists.gnu.org/r/emacs-devel/2019-06/msg01067.html
Alan Mackenzie [Sun, 30 Jun 2019 15:02:13 +0000 (15:02 +0000)]
C++ Mode: change the default doc comment style from nothing to gtkdoc
Also amend a pertinent regular expression. This fixes bug #11865.
* lisp/progmodes/cc-vars.el (c-doc-comment-style): Insert an entry for
c++-mode, namely gtkdoc.
* lisp/progmodes/cc-fonts.el (gtkdoc-font-lock-keywords): Amend the regexp
recognizing the introductory "/**" to allow subsequent characters on that
line.
Basil L. Contovounesios [Sun, 30 Jun 2019 12:30:03 +0000 (13:30 +0100)]
; Fix last change to profiler-report
* lisp/profiler.el (profiler-report): Make interactive
again (bug#22114).
Michael Albinus [Sun, 30 Jun 2019 09:23:06 +0000 (11:23 +0200)]
Release Tramp 2.4.2
* lisp/net/tramp.el: Bump version.
* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Add `add-name-to-file' error message.
(tramp--test-ignore-add-name-to-file-error): Make error handler
more explicit about the error.
Andreas Schwab [Sun, 30 Jun 2019 08:43:55 +0000 (10:43 +0200)]
Doc fix
* doc/emacs/display.texi (Displaying Boundaries): Document
display-fill-column-indicator-character, not
display-fill-column-indicator-char.
Andreas Schwab [Sun, 30 Jun 2019 06:22:53 +0000 (08:22 +0200)]
Fix use of undefined macro
* src/xdisp.c (append_space_for_newline): Use FRAME_FONT only
inside HAVE_WINDOW_SYSTEM.
(extend_face_to_end_of_line): Likewise.
(syms_of_xdisp): Doc fix.
YAMAMOTO Mitsuharu [Sun, 30 Jun 2019 07:09:56 +0000 (16:09 +0900)]
Fix negation in elements of OTF feature list
* src/ftfont.c (ftfont_get_open_type_spec):
* src/macfont.m (macfont_get_open_type_spec): Take bitwise or instead of and.
YAMAMOTO Mitsuharu [Sun, 30 Jun 2019 06:40:43 +0000 (15:40 +0900)]
Fix error in mouse-set-font on GTK 3 with Harfbuzz (Bug#36288)
* src/gtkutil.c (xg_get_font) [HAVE_GTK3]: Remove type property from font
spec. This effectively undoes the fix for Bug#3228, but gives consistent
results overall.
YAMAMOTO Mitsuharu [Sun, 30 Jun 2019 06:27:41 +0000 (15:27 +0900)]
* src/xfns.c (x_create_tip_frame): Support inhibit-double-buffering.
YAMAMOTO Mitsuharu [Sun, 30 Jun 2019 06:26:27 +0000 (15:26 +0900)]
* src/xfns.c (Fx_show_tip): Call flush_frame. (Bug#34819)
Paul Eggert [Sat, 29 Jun 2019 23:46:16 +0000 (16:46 -0700)]
Pacify gcc and other image rotation tweaks
* src/image.c: No need to include <float.h> as lisp.h does that.
(matrix3x3_copy): Remove; no longer needed.
(divide_double): New function, to avoid undefined behavior
when dividing by zero on non-IEEE hosts.
(image_set_transform): Simplify transformation computation
by avoiding the need to copy a matrix. Pacify
gcc 9 -Wdouble-promotion and -Wmaybe-uninitialized.
Avoid unnecessary assignment of width and height.
Improve error reporting for unsupported native image rotation.
Ken Brown [Sat, 29 Jun 2019 19:03:34 +0000 (15:03 -0400)]
Simplify workaround for Cygwin O_PATH bug
Suggested by Paul Eggert (Bug#36405#22).
* configure.ac (HAVE_CYGWIN_O_PATH_BUG): New AC_DEFINE, for Cygwin
versions 3.0.0 through 3.0.7.
* src/dired.c (O_PATH) [__CYGWIN__]: Remove #undef.
(file_attributes) [HAVE_CYGWIN_O_PATH_BUG]: Don't use O_PATH.
Eli Zaretskii [Sat, 29 Jun 2019 11:51:41 +0000 (14:51 +0300)]
Support native image transforms on MS-Windows
This changeset also rearranges native image transform code
for other platforms to make it cleaner, and also removes
the support for native cropping. For the discussions, see
https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00242.html
* src/w32term.c (w32_image_rotations_p, transform): New functions.
(w32_draw_image_foreground): If image rotation is requested
and supported, call PlgBlt to transform the image.
(w32_initialize): Populate the PlgBlt function pointer if it
is supported.
* src/w32term.h (w32_image_rotations_p): Add prototype.
* src/dispextern.h (struct image) [HAVE_NTGUI]: New member xform.
* src/image.c (compute_image_rotation): Renamed from
image_set_rotation. Only compute and returns the rotation
angle; leave the matrix calculation for later. Log an error
message if the :rotation parameter is not a number.
(image_set_crop): Function deleted. We no longer support
native cropping, as one can display an image slice instead.
(image_set_transform): Compute the transform matrix in its
entirety here, in two variants: one for XRender and Cairo, the
other for NS and MS-Windows. call compute_image_size and
compute_image_rotation internally.
(lookup_image) [HAVE_NATIVE_TRANSFORMS]: Call only
image_set_transform. No need to pass the transform matrix to
image_set_transform.
(Fimage_transforms_p): Return a list of transform capabilities
rather than a simple boolean. Support TTY frames as well.
* src/nsimage.m (setTransform:): Don't invert the matrix, as
it is already inverted in image.c.
* test/manual/image-transforms-tests.el (test-cropping): State
in the text that only ImageMagick supports cropping.
* doc/lispref/display.texi (Image Descriptors): Update the
documentation of native image transforms.
(ImageMagick Images): Move the description of ':crop' here.
* etc/NEWS: Minor copyedits of the feature announcement.
Shuguang Sun [Sat, 29 Jun 2019 10:18:59 +0000 (12:18 +0200)]
Fix recent change in Tramp
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-integration.el: Remove superfluous `progn' in
`with-eval-after-load'.
Lars Ingebrigtsen [Sat, 29 Jun 2019 10:05:50 +0000 (12:05 +0200)]
Cosmetic fix-up of message-forward-included-headers
* lisp/gnus/message.el (message-forward-included-headers): Use
consistent capitalization in the regexps.
Eli Zaretskii [Sat, 29 Jun 2019 09:48:15 +0000 (12:48 +0300)]
Fix display of fringe bitmaps for tooltips in echo area
* src/xdisp.c (display_line): Force redrawing of fringe
bitmaps when redisplaying a minibuffer window with
truncate-lines set to a non-nil value. (Bug#36308)
Mattias Engdegård [Sat, 29 Jun 2019 09:10:36 +0000 (11:10 +0200)]
Allow empty argument to `regexp-opt-charset'
* test/lisp/emacs-lisp/regexp-opt-tests.el (regexp-opt-charset):
Handle nil argument, and use regexp-quote for singletons.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Expand tests.
Paul Eggert [Sat, 29 Jun 2019 06:11:27 +0000 (23:11 -0700)]
Revert O_PATH change to fileio.c
Ken Brown pointed out it wasn’t needed (Bug#36405#16):
* src/fileio.c (O_PATH) [__CYGWIN__]: Remove #undef.
Andreas Schwab [Sat, 29 Jun 2019 05:41:18 +0000 (07:41 +0200)]
* test/src/json-tests.el (json-serialize/object): Fix spacing.
Pip Cet [Sat, 29 Jun 2019 05:01:00 +0000 (22:01 -0700)]
Fix json-serialize/object test failure
* test/src/json-tests.el (json-serialize/object):
Accept failure with different code.
Mattias Engdegård [Wed, 19 Jun 2019 11:26:58 +0000 (13:26 +0200)]
Strength-reduce `equal', `eql', `member' and `memql'
When comparing against symbols, turn `equal' and `eql' into `eq',
and `member' and `memql' into `memq'.
* lisp/emacs-lisp/byte-opt.el (byte-optimize--constant-symbol-p)
(byte-optimize-equal, byte-optimize-member): New.
(member, memql, equal, eql): Use new byte-optimizers.
Stefan Kangas [Fri, 28 Jun 2019 11:40:37 +0000 (13:40 +0200)]
Document bookmark annotations in Emacs Manual (bug#36417)
* doc/emacs/regs.texi (Bookmarks): Document annotations.
* lisp/bookmark.el (bookmark-use-annotations): Clarify docstring.
Mattias Engdegård [Fri, 28 Jun 2019 08:20:55 +0000 (10:20 +0200)]
Correct regexp matching of raw bytes
Make regexp matching of raw bytes work in all combination of unibyte
and multibyte patterns and targets, as exact strings and in character
alternatives (bug#3687).
* src/regex-emacs.c (analyze_first):
Include raw byte in fastmap when pattern is a multibyte exact string.
Include leading byte in fastmap for raw bytes in character alternatives.
(re_match_2_internal):
Decrement the byte count by the number of bytes in the pattern character,
not 1.
* test/src/regex-emacs-tests.el (regexp-unibyte-unibyte)
(regexp-multibyte-unibyte, regexp-unibyte-mutibyte)
(regexp-multibyte-multibyte): New tests.
Michael Albinus [Fri, 28 Jun 2019 14:32:12 +0000 (16:32 +0200)]
Tramp requires Emacs 24.4
* doc/misc/tramp.texi (Frequently Asked Questions):
Use `with-eval-after-load'. in example.
* doc/misc/trampver.texi: Set variable emacsver.
* lisp/net/tramp.el (tramp-send-string, tramp-call-process)
(tramp-call-process-region, tramp-process-lines):
* lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
(tramp-adb-sh-fix-ls-output, tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-get-directory-attributes)
(tramp-gvfs-handle-file-notify-add-watch)
* lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch, tramp-find-executable)
(tramp-set-remote-path)
(tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection, tramp-send-command):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
(tramp-smb-handle-set-file-acl)
(tramp-smb-handle-start-file-process)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-acl):
(tramp-sudoedit-send-command): Use `string-join' and `string-empty-p'.
* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-ftp.el: Use `with-eval-after-load'.
* lisp/net/tramp-cmds.el (tramp-cleanup-connection)
(tramp-cleanup-all-connections): Cancel timer.
* lisp/net/tramp-compat.el (subr-x): Require.
(default-toplevel-value): Don't make it a defalias.
* lisp/net/tramp-gvfs.el: Use `dbus-event-error-functions'. Do
not special handle `split-string'.
* lisp/net/tramp.el: Require Emacs 24.4.
(tramp-password-prompt-regexp): Use `password-word-equivalents'.
(tramp-user-error): Use `user-error'.
(tramp-replace-environment-variables): Use `substitute-env-vars'.
(tramp-wait-for-regexp): Rearrange `with-current-buffer' call.
(tramp-get-local-gid): Use `group-gid'.
* lisp/net/trampver.el: Check for Emacs 24.4.
* test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect)
(tramp-test02-file-name-dissect-simplified)
(tramp-test02-file-name-dissect-separate)
(tramp-test03-file-name-host-rules)
(tramp-test03-file-name-method-rules): Don't check for `user-error'.
Lars Ingebrigtsen [Fri, 28 Jun 2019 14:20:05 +0000 (16:20 +0200)]
Doc fix for Gnus "very wide" reply commands
* lisp/gnus/gnus-msg.el (gnus-summary-very-wide-reply-with-original)
(gnus-summary-very-wide-reply): Clarify what a "very wide reply" is.
Lars Ingebrigtsen [Fri, 28 Jun 2019 13:05:59 +0000 (15:05 +0200)]
Revert "Fontify _emphasis_ in info nodes"
This reverts commit
72963b4e82eef5767e3172f28bd9bd97f487c98a.
The change incorrectly fontified whole sentences as emphasis.
Lars Ingebrigtsen [Fri, 28 Jun 2019 13:01:31 +0000 (15:01 +0200)]
Include To and Cc headers when forwarding with Message
* lisp/gnus/message.el (message-forward-included-headers): Include
more of the important headers when forwarded: To and Cc.
Michael Albinus [Fri, 28 Jun 2019 12:03:58 +0000 (14:03 +0200)]
* lisp/gnus/gnus-art.el (gnus-article-stop-animations):
Use `cancel-function-timers'.
Mattias Engdegård [Fri, 28 Jun 2019 08:35:41 +0000 (10:35 +0200)]
More readable regexp debug output
* src/regex-emacs.c (debug_putchar): New.
(print_fastmap, print_partial_compiled_pattern, print_double_string)
(regex_compile): Use debug_putchar.
(re_match_2_internal): Add newline.
Mattias Engdegård [Fri, 28 Jun 2019 08:14:32 +0000 (10:14 +0200)]
Consistently use stderr for debug output in regexp code
* src/regex-emacs.c (DEBUG_PRINT, print_fastmap, print_compiled_pattern)
(print_double_string, regex_compile): Print to stderr instead of stdout.
Lars Ingebrigtsen [Fri, 28 Jun 2019 10:01:46 +0000 (12:01 +0200)]
Don't inhibit quit in Gnus when prefetching articles
* lisp/gnus/gnus-async.el (gnus-async-prefetch-next): Don't
inhibit quit when running `gnus-async-prefetch-article'.
Alex Branham [Fri, 14 Jun 2019 15:00:29 +0000 (10:00 -0500)]
* lisp/simple.el (undo): Make message less enthusiastic
Ola Nilsson [Sun, 23 Jun 2019 21:00:25 +0000 (23:00 +0200)]
Allow underscore in defun-prompt-regex names for sh-script
* lisp/progmodes/sh-script.el (defun-prompt-regexp):
Allow underscore in function names.
Paul Eggert [Thu, 27 Jun 2019 22:39:04 +0000 (15:39 -0700)]
Improve ‘equal’ and array doc
* doc/lispref/objects.texi (Array Type): Array sizes are
nonnegative fixnums, not arbitrary integers.
(Equality Predicates): Do not say that ‘eq’ equals ‘=’ on bignums.
Do not imply that ‘equal’ must signal an error on circular lists.
Paul Eggert [Thu, 27 Jun 2019 22:01:01 +0000 (15:01 -0700)]
* src/xfaces.c (resolve_face_name): Simplify.
Pip Cet [Thu, 27 Jun 2019 21:58:56 +0000 (14:58 -0700)]
Remove unnecessary tortoise checks.
* src/fns.c (Fplist_get, Fplist_put, Flax_plist_get)
(Flax_plist_put, Fplist_member): Remove unnecessary check.
* src/json.c (lisp_to_json_toplevel_1): Remove unnecessary check.
Paul Eggert [Thu, 27 Jun 2019 20:05:05 +0000 (13:05 -0700)]
Work around Cygwin bug with O_PATH
Problem reported by Ken Brown (Bug#36405).
* src/dired.c, src/fileio.c (O_PATH) [__CYGWIN__]: Undef.
Paul Eggert [Thu, 27 Jun 2019 19:31:27 +0000 (12:31 -0700)]
Omit a few minor unnecessary range checks
Based on Pip Cet’s review (Bug#36370#19).
* src/fileio.c (Fdo_auto_save):
* src/image.c (lookup_image):
* src/textprop.c (Fnext_single_char_property_change):
Prefer XFIXNUM to XFIXNAT for clarity and consistency with
neighboring code, and to avoid unnecessary range checks.
* src/image.c (lookup_image): Omit unnecessary range checks.
Paul Eggert [Thu, 27 Jun 2019 19:31:27 +0000 (12:31 -0700)]
Improve XFIXNUM cleanup a bit
Based on Pip Cet’s review (Bug#36370#13).
* src/ccl.c (Fccl_execute_on_string): Use clearer indexing.
* src/dosfns.c (Fint86, Fdos_memput):
Avoid runtime checks for negative fixnums when debugging.
This restores the earlier machine code.
* src/lisp.h (XFIXNUM, XUFIXNUM): Use eassert, not eassume.
(XFIXNAT): At the start, merely eassert FIXNUMP rather
than eassuming FIXNATP. At the end, eassume that the
result is nonnegative. This restores help to the compiler
that the previous patch mistakenly removed.
Paul Eggert [Thu, 27 Jun 2019 19:31:27 +0000 (12:31 -0700)]
Clean up use of XFIXNUM etc.
A few bits of the code were relying on the fact that XFIXNUM,
XFIXNAT, and XUFIXNUM do something even with arguments that
are not fixnums/fixnats. Separate these rare uses out into
XFIXNUM_RAW and XUFIXNUM_RAW.
Problem and original patch reported by Pip Cet (Bug#36370).
* src/ccl.c (Fccl_execute_on_string):
* src/fileio.c (Finsert_file_contents, a_write)
(Fdo_auto_save):
* src/process.c (conv_lisp_to_sockaddr):
* src/textprop.c (Fnext_single_char_property_change)
(Fprevious_single_char_property_change)
(Fnext_property_change, Fnext_single_property_change)
(Fprevious_property_change)
(Fprevious_single_property_change):
Don’t assume fixnums are nonnegative.
* src/ccl.c (Fccl_execute_on_string):
Fix range-checking bug if AREF (status, i) is out of int range.
* src/data.c (arith_driver): Use XFIXNUM_RAW as we want
efficient garbage if the value is not a fixnum.
* src/dosfns.c (Fint86, Fdos_memput):
Check that args are nonnegative.
* src/image.c (lookup_image): Check that args are in range.
* src/lisp.h (lisp_h_XHASH): Use XUFIXNUM_RAW, since this
is for hashing.
(lisp_h_XFIXNAT, XFIXNAT) [USE_LSB_TAG]: Remove macros.
(lisp_h_XFIXNUM_RAW, XFIXNUM_RAW) [USE_LSB_TAG]: New macros, with
the semantics of the old macros without _RAW.
(XFIXNUM_RAW, XUFIXNUM_RAW): New inline functions, with the
semantics of the old functions without _RAW.
(FIXNUMP): Move definition up to avoid forward use.
(XFIXNUM, XFIXNAT, XUFIXNUM): Use eassume to add a runtime
check (when debugging) that the argument has the proper form.
(XFIXNUM, XFIXNAT): Now inline functions only, since they
refer to their arguments more than once now that they use eassume.
* src/textprop.c (Fprevious_single_char_property_change):
Avoid fixnum overflow with invalid input.
(set_text_properties): Fix unlikely failure
to validate arguments, by using EQ instead of XFIXNAT.
* src/w32term.c (w32_draw_glyph_string):
* src/xterm.c (x_draw_glyph_string):
Treat negative minimums as 0 rather than as garbage patterns.
Paul Eggert [Thu, 27 Jun 2019 19:21:20 +0000 (12:21 -0700)]
Catch duplicate keywords in image specs
* src/image.c (struct image_keyword.count): Now bool, not int,
since it is either 0 or 1.
(parse_image_spec, xpm_image_p): Use bool for boolean.
(parse_image_spec): Fix a bug introduced in
2011-09-21T17:41:20!eggert@cs.ucla.edu that reported only
triplicate (or more) keywords, not duplicates.
Lars Ingebrigtsen [Thu, 27 Jun 2019 19:18:42 +0000 (21:18 +0200)]
Mention the new emacsclient -a/--eval behaviour
Lars Ingebrigtsen [Thu, 27 Jun 2019 18:59:50 +0000 (20:59 +0200)]
emacsclient: ignore --eval parameters when starting alternate editor
* lib-src/emacsclient.c (fail): If the user said --eval, don't
pass those arguments to the alternate editor as file names.
Suggested by a patch from Scott Turner (bug#11474).
Vasilij Schneidermann [Thu, 27 Jun 2019 18:18:20 +0000 (20:18 +0200)]
Allow for retrieving profiler logs after stopping
* lisp/profiler.el (profiler-cpu-log, profiler-memory-log): New
variables.
(profiler-cpu-profile): Work even if the profiler is no longer
running (bug#22114).
(profiler-memory-profile): Ditto.
(profiler-stop): Save the data.
(profiler-reset): Clear the saved data.
(profiler-report-cpu, profiler-report-memory): Report on the saved
data.
(profiler-report): Save the data here, too.
Dan Nicolaescu [Thu, 27 Jun 2019 18:13:14 +0000 (20:13 +0200)]
Include the date in the bzr annotation buffer
* lisp/vc/vc-bzr.el (vc-bzr-annotate-command)
(vc-bzr-annotate-time)
(vc-bzr-annotate-extract-revision-at-line): Include a date in the
bzr annotation buffer (bug#5428).
Stefan Kangas [Thu, 27 Jun 2019 18:02:56 +0000 (20:02 +0200)]
Add new ispell-change-dictionary-hook (Bug#1110)
* lisp/textmodes/ispell.el (ispell-change-dictionary-hook): New hook.
(ispell-change-dictionary): Call new hook (bug#1110).
Thierry Volpiatto [Thu, 27 Jun 2019 17:20:50 +0000 (19:20 +0200)]
Add a new regexp variable to control boring winner buffers
* doc/emacs/windows.texi (Window Convenience): Mention it.
* lisp/winner.el (winner-boring-buffers-regexp): New variable.
* lisp/winner.el (winner-set): Use it (bug#11151).
Ken Brown [Thu, 27 Jun 2019 17:43:27 +0000 (13:43 -0400)]
Fix invoking Emacs via a symlink on Cygwin
* src/emacs.c (load_pdump) [CYGWIN]: Strip ".exe" suffix.
Lennart Borgman [Thu, 27 Jun 2019 17:08:42 +0000 (19:08 +0200)]
Add more fontification to regexp builder mode
* lisp/emacs-lisp/re-builder.el (reb-copy): Work in the presence
of newlines in the regexps.
(reb-change-syntax): Use a dedicated history variable.
(reb-fontify-string-re): Fontify sub-matches.
(reb-regexp-grouping-backslash, reb-regexp-grouping-construct):
New faces.
(reb-string-font-lock-keywords): New variable.
(reb-mark-non-matching-parenthesis): Match parenthesis.
(reb-restart-font-lock): New function.
* lisp/emacs-lisp/re-builder.el (reb-mode-map): Add divider some
dividers (bug#6347).
Lars Ingebrigtsen [Thu, 27 Jun 2019 16:13:18 +0000 (18:13 +0200)]
Rename displayor to displayer in CEDET
* doc/misc/sem-user.texi (Idle Completions Mode): Rename
displayor->displayer throughout.
(Idle Completions Mode): Ditto.
* lisp/cedet/semantic/complete.el: Rename displayor->displayer
throughout and add aliases for all the methods that used that name.
Dmitry Gutov [Thu, 27 Jun 2019 14:57:47 +0000 (16:57 +0200)]
Use `default-indent-new-line' instead of `indent-new-comment-line'
* lisp/simple.el (default-indent-new-line): Doc string fix.
* lisp/textmodes/refill.el (refill-post-command-function): Make
default-indent-new-line work as indent-new-comment-line.
* lisp/textmodes/refill.el (refill-post-command-function): Bind
`M-C-j' and `M-j' to default-indent-new-line instead of
indent-new-comment-line to allow overriding via
`comment-line-break-function' (bug#12413).
Lars Ingebrigtsen [Thu, 27 Jun 2019 14:28:22 +0000 (16:28 +0200)]
Revert "Apply font-lock in hexl-mode buffers"
This reverts commit
573de396f03684efa89ead24a371b0f4c9bf8d5d.
The change wasn't necessary -- the hexl-mode buffer is automatically fontified.
Aaron S. Hawley [Thu, 27 Jun 2019 11:55:04 +0000 (13:55 +0200)]
Allow generating wiki and mediawiki tables
* lisp/textmodes/table.el (table--generate-source-prologue)
(table--generate-source-epilogue)
(table--generate-source-scan-rows)
(table--generate-source-cells-in-a-row): Insert the wiki/mediawiki
separators.
* lisp/textmodes/table.el (table-source-languages): Add support
for wiki and mediawiki tables (bug#13287).
2019-06-27 Lars Ingebrigtsen <larsi@gnus.org>
* doc/emacs/text.texi (Table Misc): Mention the new wiki and
mediawiki formats.
Wilfred Hughes [Thu, 27 Jun 2019 11:30:36 +0000 (13:30 +0200)]
Apply font-lock in hexl-mode buffers
* lisp/hexl.el (hexl-mode): After setting font-lock-defaults, we
need to call `font-lock-ensure' to apply hexl-mode faces
(bug#24645).
Juanma Barranquero [Thu, 27 Jun 2019 11:26:45 +0000 (13:26 +0200)]
Add :local specifier to defcustom
* lisp/custom.el (custom-declare-variable): Allow the new :local
parameter (bug#14591).
(defcustom): Document it.
Paul Eggert [Thu, 27 Jun 2019 09:33:36 +0000 (02:33 -0700)]
Tweak ‘error’ and ‘user-error’ doc strings
* lisp/net/tramp.el (tramp-user-error):
* lisp/subr.el (user-error):
Say that user errors are sometimes called pilot errors.
* lisp/subr.el (error, user-error):
Reorder wording to discuss mechanism first, then formatting advice,
rather than going back and forth between the two topics.
Tighten up the wording a bit.
Stefan Kangas [Thu, 27 Jun 2019 09:33:10 +0000 (02:33 -0700)]
Clarify error and user-error docstrings
* lisp/subr.el (error, user-error)
* lisp/net/tramp.el (tramp-user-error): Change "pilot error" to "user
error" and improve documentation.
Basil L. Contovounesios [Wed, 26 Jun 2019 23:14:36 +0000 (00:14 +0100)]
Remove gnus-bug from report-emacs-bug TODO entry
For discussion, see the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg01196.html
https://lists.gnu.org/archive/html/emacs-devel/2019-06/msg00967.html
* etc/TODO: Remove gnus-bug from list of obsolete bug-reporting
commands now that it is implemented in terms of report-emacs-bug.
Mattias Engdegård [Wed, 26 Jun 2019 09:23:32 +0000 (11:23 +0200)]
Document bug in `replace-regexp-in-string'
`replace-regexp-in-string' omits the first START characters of the
input string in its return value. This is a clear bug, but fixing it
probably causes more trouble; document the behaviour instead (bug#36372).
* doc/lispref/searching.texi (Search and Replace)
* lisp/subr.el (replace-regexp-in-string):
Document current behaviour.
Stefan Monnier [Wed, 26 Jun 2019 16:49:01 +0000 (12:49 -0400)]
* lisp/textmodes/page-ext.el (sort-pages-buffer): Fix typo
Reported by Marco Wahl <marcowahlsoft@gmail.com>.
Update `Commentary:` to use the new command names.
(pages--ctl-x-ctl-p-map): Fix `mark-page` binding.
(pages-directory-mode-map): Update `add-new-page` => `pages-add-new-page`.
Eli Zaretskii [Wed, 26 Jun 2019 16:23:34 +0000 (19:23 +0300)]
Support invoking Emacs via a symlink on MS-Windows
* src/w32.c (w32_my_exename): Resolve symlinks in the
executable name, to support searching for the pdumper file
when the executable is found via a symlink.
* src/emacs.c (load_pdump): Add a comment about symlink
resolution on Windows.
Andrzej P [Mon, 6 Jan 2014 00:45:01 +0000 (00:45 +0000)]
Fix redisplay of registers in gdb-mi
* lisp/progmodes/gdb-mi.el (gdb-update): Call
gdb-get-changed-registers before updating the GDB-MI buffers.
(Bug#16366)
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Wed, 26 Jun 2019 14:41:07 +0000 (16:41 +0200)]
Restrict indirect lookups in Fdocumentation_property
* src/doc.c (Fdocumentation_property): Only look up indirect
variables if we've been asked for the variable documentation.
Stefan Monnier [Wed, 26 Jun 2019 14:27:36 +0000 (10:27 -0400)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk
Bruce Stephens [Wed, 26 Jun 2019 14:26:18 +0000 (10:26 -0400)]
* lisp/calc/calc-ext.el (math-scalarp): Fix typo
Lars Ingebrigtsen [Wed, 26 Jun 2019 14:25:19 +0000 (16:25 +0200)]
Fdocumentation_property: Return doc string for indirect variables
* src/doc.c (Fdocumentation_property): When dealing with indirect
variables (i.e., aliases), also check the symbol being pointed to
for the doc string (bug #17180).
Stefan Monnier [Wed, 26 Jun 2019 14:24:59 +0000 (10:24 -0400)]
Revert "* lisp/calc/calc-ext.el (math-scalarp): Fix typo"
This reverts commit
698ff554ac2699ec48fefc85a1307cbc4a183b0d.